#include <vector>
#include <fstream>
#include <iostream>

using namespace std;

/*
 * numOfCoins
 * 表示找出每一个索引位置元的最少硬币数
 *  0  1  2  3  4  5  6  7
 * [0, 1, 2, 3, 4, 1, 2, 3]
 * 
 * 
 * numOfCoins[0] = 0
 * 
 * coins {1, 5, 10}
 *                 ^
 * 1 <= 0 ? F
 * 1 <= 1 ? T 1元硬币要找出来1元需要的硬币数 = 0 + 1 = 1
 * 1 <= 2 ? T 1元硬币要找出来2元需要的硬币数 = 1 + 1 = 2
 * 1 <= 3 ? T 1元硬币要找出来3元需要的硬币数 = 2 + 1 = 3
 * ...
 * 1 <= 7 ? T 1元硬币要找出来7元需要的硬币数 = 6 + 1 = 7
 * 
 * 5 <= 0 ? F
 * 5 <= 1 ? F
 * 5 <= 2 ? F
 * 5 <= 3 ? F
 * 5 <= 4 ? F
 * 5 <= 5 ? T 5元硬币要找出来5元需要的硬币数 = 5元硬币要找出来（5-5）元的硬币数 + 1 = 1
 *            1 < 5 numOfCoins[5] = 1
 * 5 <= 6 ? T 5元硬币要找出来6元需要的硬币数 = 5元硬币要找出来（6-5）元的硬币数 + 1 = 2
 * 5 <= 7 ? T 5元硬币要找出来7元需要的硬币数 = 5元硬币要找出来（7-5）元的硬币数 + 1 = 3
 * 
 * target 7
 */

int minCoins(vector<int> coins, int target) {
  
}


int main(int argc, char const *argv[])
{
  /* code */
  return 0;
}
